package org.example.sword2offer.primary;

/**
 * @author: lynn
 * @Descript:  i,j 不等于边界长度-1
 * Question 1
 * @date: 2021/3/7 18:47
 * @version: 1.0
 */
public class Q1_FindTargetIn2dArray {
    public static void main(String[] args) {
        int[][] arr={{2,6,10},{3,7,11},{4,8,12}};
        int target=6;
        System.out.println(Boolean.toString(Find(target,arr)));
    }
    public static boolean Find(int target ,int[][] array){
        int rows=array.length; //行
        if(rows==0) return false;
        int cols=array[0].length;// 列
        if(cols==0) return false;
        //fixme 左下角开始，row是行，rows是所有行，col是列，cols是所有列
        int row=rows-1;
        int col=0;
        while(row>=0 && col<cols){
            if(array[row][col]<target){
                col++;//fixme 保证说比target小，只要col加就好了
            }else if (array[row][col]>target){
                row--;//fixme 保证说比target大，只要row减就好了
            }else{
                return true;
            }
        }
        return false;
    }
}
